﻿﻿using Microsoft.Extensions.Logging;
using CommunityToolkit.Maui;
using CommunityToolkit.Maui.Media;

namespace demo001
{
    /// <summary>
    /// MAUI应用程序的入口点和配置类
    /// 该类负责初始化和配置整个MAUI应用程序的核心服务和功能
    /// </summary>
    public static class MauiProgram
    {
        /// <summary>
        /// 创建并配置MAUI应用程序实例
        /// 这是应用程序的主要配置方法，在应用启动时被调用
        /// </summary>
        /// <returns>返回配置完成的MAUI应用程序实例</returns>
        public static MauiApp CreateMauiApp()
        {
            // 创建MAUI应用构建器实例
            var builder = MauiApp.CreateBuilder();

            // 配置应用程序
            builder
                // 设置应用程序的主类型为App
                .UseMauiApp<App>()
                
                // 启用MAUI Community Toolkit
                // 这是一个包含常用UI控件和功能的工具包
                .UseMauiCommunityToolkit()
                
                // 启用MAUI Community Toolkit的媒体元素支持
                // 提供视频播放等多媒体功能
                .UseMauiCommunityToolkitMediaElement()
                
                // 配置应用程序字体
                .ConfigureFonts(fonts =>
                {
                    // 添加OpenSans字体家族
                    // 参数1: 字体文件名
                    // 参数2: 字体在应用中的别名，可在XAML中使用
                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
                });

#if DEBUG
            // 在调试模式下启用详细的调试日志
            builder.Logging.AddDebug();
            
            // 配置日志级别为 Debug，确保详细日志输出
            builder.Logging.SetMinimumLevel(LogLevel.Debug);
            
    
#endif

            // 构建并返回配置完成的应用程序实例
            return builder.Build();
        }
    }
}